package rlm.helper;

import rlm.rlcontainer.PlaceHolder;

public abstract class Intersection {
	private final PlaceHolder left;
	private final PlaceHolder right;
	
	
	
	public PlaceHolder getLeft() {
		return left;
	}

	public PlaceHolder getRight() {
		return right;
	}

	public Intersection(PlaceHolder lt, PlaceHolder rt){
		left = lt;
		right = rt;
	}
	
	public static class None extends Intersection{
		public None(PlaceHolder lt, PlaceHolder rt) {
			super(lt, rt);
		}		
	}

	public static class Whole extends Intersection{
		public Whole(PlaceHolder lt, PlaceHolder rt) {
			super(lt, rt);
		}		
	}

	public static class Part extends Intersection{
		public Part(PlaceHolder lt, PlaceHolder rt) {
			super(lt, rt);
		}		
	}
	
	public static class PartiallyAssigned extends Intersection{

		public PartiallyAssigned(PlaceHolder lt, PlaceHolder rt) {
			super(lt, rt);
		}
		
	}
}
